首页
首页

【记录】iptables 双网卡端口映射

今天用iptables做了一个端口映射,以为一条命令的事情,没想到网上的各种不靠谱,用了俩个小时

主机名 主机列表 外网ip(网卡名) 内网ip
one 双网卡主机 111.111.111.111(eth0) 10.10.10.1(eth1)
two 内外网主机 10.10.10.2(eth0)
three 测试主机 222.222.222.222
  • 开通的服务

    10.10.10.2开通了tomcat服务8080

  • 需求:

    three通过访问one的111.111.111.111:8080自动转发到two的10.10.10.2:8080端口

    • 配置

      在one主机上执行:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      # iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to 10.10.10.2
      // 添加iptables Nat规则:one主机的8080端口并转发到10.10.10.2主机上

      # iptables -t nat -A POSTROUTING -d 10.10.10.2 -p tcp --dport 9011 -j SNAT --to 10.10.10.1
      //添加iptables Nat规则: 用SNAT作源地址转换,以使回应包能正确返回

      # service iptables save
      // 保存到iptables文件中

      # service iptables restart
      // 重启服务
  • 注意事项:

    1、必须开发ip转发功能

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    vim /etc/sysctl.conf

    将 net.ipv4.ip_forward = 1

    # sysctl -p
    // 应用

    or

    # echo 1 > /proc/sys/net/ipv4/ip_forward

    注: 这个是临时生效 重启失效,推荐用上面方法
End 
支持一下
扫一扫,我会更有动力更新
  • 微信扫一扫
  • 支付宝扫一扫